1. Field of the Invention
This invention relates to the treatment of message structures described to a message processor, and more particularly to a simplified intuitive method and apparatus for defining message structures to a processor in a manner that is compatible with the message processor language.
2. Description of the Related Art
Message processors are used in applications such as air traffic control and command to track a stream of incoming messages and provide for the control of a complex situation. For example, a message processor for an air traffic control system would receive periodically updated messages on the positions of numerous aircraft in the region, provide a visual display of all the aircraft positions and headings, and perhaps update a data base.
A message processor typically performs parsing, validating and translation functions in processing incoming and outgoing messages. The structure of the messages must be described to the message processor in advance, so that it can properly parse the messages. The language used by message processors is usually very complex, and can be difficult to use. To properly describe the message structure, it has been necessary to employ the services of an engineer who knows the message processor language to describe the message structure in a language that the message processor can understand. Because of the language complexity, this approach is prone to errors that can cause delays in time-critical schedules. The problem is aggravated by the frequent changes that are typically encountered in message structures.
FIG. 1 shows an example of a message specification that an engineer would have to describe in a language understood by the message processor. This message is for an air traffic control application, and is structured as follows:
LABEL 2 (5 bits): identifies the type of message.
TRACK QUALITY 4 (3 bits): assigns a degree of confidence to the information for the aircraft being tracked. The value of this descriptor goes down as the information from the tracking radar becomes less current.
TRACK NUMBER 6 (16 bits): identifies the particular aircraft being tracked.
X POSITION 8 (14 bits): the most significant bit of this descriptor identifies whether the aircraft position is East or West; the remaining 13 bits specify the aircraft position in the X direction.
ID 10 (3 bits): this descriptor is an aircraft identification category, such as "friend or foe".
SIM 12 (1 bit): indicates whether the track is for a live aircraft, or a simulation exercise.
Y POSITION 14 (14 bits): the most significant bit of this descriptor identifies whether the aircraft position is North and South; the remaining 13 bits specify the aircraft position in the Y direction.
FIG. 2 shows an example of the message specification of FIG. 1 described in a message processor language. It would be highly desirable to avoid the need for a trained engineer to make transformations of this type.
Simplified user interface tools have previously been used to describe a schema structure to a data base. Examples of such tools are 4th DIMENSION by ACIUS, Inc. and FoxBASE+/Mac by Fox Software, Inc. These systems use a WINDOWS-type display on a computer screen that organizes the data base by the number of fields it contains, the types of fields, and similar information. The user types in the data base information directly, using the graphical display on the screen. However, this is simply a useful data base entry system for inputting information in a fixed format to a passive data base. It does not provide any means to establish the actual message structure (as opposed to the contents of the message) for a dynamic message processor that receives messages with numerous different types of structures.